<script>
  var isValid = function(s) {
    const map = new Map()
    map.set('(', ')')
    map.set('{', '}')
    map.set('[', ']')

    const arr = [];
    for(let i = 0; i < s.length; i++) {
      if (map.has(s[i])) {
        arr.push(map.get(s[i]))
      } else {
        if (s[i] === arr[arr.length]) {
          arr.pop();
        } else {
          return false;
        }
      }
    }

    return true;
  };
</script>